Position encoders are used in a variety of applications to provide feedback identifying the position of a moveable member. Such moveable members are often rotating members, such as steering wheels on automobiles, but linear motion can also be measured. In addition to measuring the position of steering wheels, rotational position encoders are also used, for example, in milling applications, such as with lathes used to manufacture fans for turbine engines, or in brushless motors. In many applications position encoders must be highly robust in order to provide safe operation of the system. For example, failure of a position encoder used to read the position of a steering wheel in a power steering system could be catastrophic if it occurred while operating the vehicle.
Typically, position encoders operate by dividing the entire range of possible positions for a moveable member into a pre-selected number of loci. The larger the number, the smaller each individual locus, and therefore the more precisely the position of the moveable member will be measured. (For the purposes of this document, and as is known in the art, the term “absolute position” refers to any position within a discreet locus; thus, measuring the moveable member's absolute position refers to identifying which of the loci the member presently occupies.) The position encoder provides a plurality of data tracks, each typically including a datum associated with each of the loci. (It is theoretically possible to use data tracks that include no data for one or more loci, but since one of the primary design objectives is to compact as much information as possible into the fewest number of tracks, thereby reducing the cost of the encoder, it is almost always disadvantageous to do so.) Together, the data associated with the loci form n-symbol words that identify the loci. Typically, the data are binary digital data, and thus the n-symbol words are n-bit words.
A variety of position encoders are known in the art, and are used in a various applications. For example, position encoders are disclosed in U.S. Pat. Nos. 4,628,298 to Hafle et al., 5,117,105 to Nagase et al., and 4,947,166 to Wingate et al., each of which is hereby incorporated in its entirety.
Position encoders generally use one of two mechanisms for physically recording the bits that encode position: optical and magnetic fields. Generally, optical encoding is preferred because it provides superior resolution. At any appreciable distance from the magnets with alternating poles the magnetic field becomes a blurred mixture. However, optical encoding generally requires the use of light emitting diodes (“LEDs”), which have an undesirably low operating life at high temperature. Consequently, magnetic encoding is typically preferred for high temperature applications.
Position encoders fall generally into one of two categories: relative, or incremental encoders, and absolute position encoders. Incremental encoders detect only when the moveable member has translated or rotated at least a pre-determined distance, whereas absolute position encoders actually measure the position of the moveable member. For example, a simple incremental encoder might rely only upon a single track of alternating bits, and identify only when the observed bit flips. In contrast, a simple absolute encoder might have log2 (n) tracks, where “n” is the number of discreet positions encoded, such that each position can be assigned a unique binary code.
Generally, absolute position encoders are more useful, because incremental encoders lose track of where the moveable member is when the system is powered down. Also, incremental encoders are more prone to error propagation, since once a change in position has occurred without detection there's no way for the encoder to recapture that movement. However, absolute position encoders tend to be more expensive, because they require a larger number of data bits, which required a larger number of detectors to read. As the resolution of the absolute encoder increases the number of tracks required to encode the position data also increases.
A common difficulty with multi-track encoders is that the detection of multiple bits flipping during a transition is liable to be unsynchronized. This can result in the system reading an erroneous extra transition. For example, if two adjacent words are 11001 and 11010, unless the detectors for the last two tracks are perfectly synchronized the encoder is liable to read 11011 or 11000 between the transition from one to the other. In order to combat this shortcoming position encoders often use a “clock track.” The clock track is used to tell the encoder when to read a new word. The bit transitions of the clock track can be offset a half-bit from the transitions of the other tracks, so that the precise position at which the data tracks transition is unimportant. In certain other encoders, a clock track is offset by a quarter bit, so that the timing of its transition compared to one or more of the other tracks can be used to detect the direction of rotation. Clock tracks, however, generally require an additional detector just to read the clock track.
There is, therefore, a need for a position encoder that combines the advantages of incremental and absolute position encoders. A position encoder is needed that can recapture missed detection of motion and provide position data shortly after start-up, while using a lower number of data tracks and corresponding detectors. The present invention is directed towards meeting these needs, among others.